class Student:
    def __init__(self,age,name,address):
        self.age = age
        self.name = name
        self.__address = address        # 实例属性前面加上__ 表示私有属性
    # 封装函数，间接访问私有属性
    def info(self):
        print(f"大家好，我叫做：{self.name}，今年：{self.age}，来自：{self.__address}")
        return self.__address
    # 普通类方法前面加上__表示私有方法，没办法通过对象来直接访问
    def __phone(self,phone):
        return phone

    # 封装一个类方法，间接访问私有方法
    def phones(self,phone):
        return self.__phone(phone)

# 主程序入口
if __name__ == '__main__':
    # 先来创建一个对象
    s1 = Student(19,'班长','辽宁沈阳')
    # 查看实例属性
    # print(s1.name)
    # print(s1.age)
    # 私有属性外部是不能够直接访问的
    # print(s1.address)

    # 调用类方法
    # print(s1.info())

    # 调用私有方法
    # print(s1.__phone("178678"))

    # 调用普通方法，间接访问私有方法
    print(s1.phones('16597876876'))